Component org.nuxeo.ecm.platform.routing.layouts
In bundle org.nuxeo.ecm.platform.routing.web
Contributions
- org.nuxeo.ecm.platform.routing.layouts--actions
- org.nuxeo.ecm.platform.routing.layouts--layouts
- org.nuxeo.ecm.platform.routing.layouts--widgettypes
- org.nuxeo.ecm.platform.routing.layouts--widgets
XML Source
<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.routing.layouts">
<require>org.nuxeo.ecm.platform.routing.actions</require>
<extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
point="widgettypes">
<widgetType name="current_route_description">
<configuration>
<sinceVersion>5.6</sinceVersion>
<title>Description</title>
<description>
<p>This widget displays the name, description, author and
creation
date
of the current route started on the current
document.
</p>
</description>
<categories>
<category>routing</category>
</categories>
<supportedModes>
<mode>view</mode>
</supportedModes>
<!-- no configurable properties -->
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/route/current_route_description_widget_template.xhtml
</property>
</widgetType>
<widgetType name="current_route_show_graph">
<configuration>
<sinceVersion>5.6</sinceVersion>
<title>Description</title>
<description>
<p>
This widget displays the graph of the current route in a
Fancybox
popup.
</p>
A field to map the id of the document representing
the workflow
instance is required.
</description>
<categories>
<category>routing</category>
</categories>
<supportedModes>
<mode>view</mode>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
</supportedModes>
<!-- no configurable properties -->
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/route/current_route_show_graph_widget_template.xhtml
</property>
</widgetType>
<widgetType name="current_route_abandon">
<configuration>
<sinceVersion>5.6</sinceVersion>
<title>Description</title>
<description>
<p>
This widget displays an 'Abandon' action to cancel the
current
route
started on the current document.
</p>
</description>
<categories>
<category>routing</category>
</categories>
<supportedModes>
<mode>view</mode>
</supportedModes>
<!-- no configurable properties -->
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/route/current_route_abandon_widget_template.xhtml
</property>
</widgetType>
<widgetType name="current_route_user_tasks">
<configuration>
<sinceVersion>5.6</sinceVersion>
<title>Description</title>
<description>
<p>
This widget displays the user tasks of the current route on
the
current document. Duplicate of
"summary_current_document_single_tasks" widget.
</p>
</description>
<handlingLabels>true</handlingLabels>
<categories>
<category>routing</category>
</categories>
<supportedModes>
<mode>view</mode>
</supportedModes>
<!-- no configurable properties -->
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/summary/single_tasks_widget_template.xhtml
</property>
</widgetType>
<widgetType name="current_route_open_tasks">
<configuration>
<sinceVersion>5.6</sinceVersion>
<title>Description</title>
<description>
<p>
This widget displays all the open tasks of the current
route
on the
current document.
</p>
</description>
<handlingLabels>true</handlingLabels>
<categories>
<category>routing</category>
</categories>
<supportedModes>
<mode>view</mode>
</supportedModes>
<!-- no configurable properties -->
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/route/current_route_open_tasks_widget_template.xhtml
</property>
</widgetType>
<widgetType name="task_workflow_title">
<configuration>
<title>
Task workflow title
</title>
<description>
<p>
Displays the name of the worklow for a task, inside a h1 tag.
</p>
Two fields are required:
<ul>
<li>A field to map the task</li>
<li>A field to map the task name</li>
</ul>
</description>
<sinceVersion>5.8</sinceVersion>
<categories>
<category>routing</category>
</categories>
<supportedModes>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/task/task_workflow_title_widget_template.xhtml
</property>
</widgetType>
<widgetType name="task_workflow_name">
<configuration>
<title>
Task workflow name
</title>
<description>
<p>
Displays the name of the worklow for a task.
</p>
Two fields are required:
<ul>
<li>A field to map the task</li>
<li>A field to map the task name</li>
</ul>
</description>
<sinceVersion>5.8</sinceVersion>
<categories>
<category>routing</category>
</categories>
<supportedModes>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/task/task_workflow_name_widget_template.xhtml
</property>
</widgetType>
<widgetType name="task_layout_with_actions">
<configuration>
<title>Listing the layout configured on Studio for the task or
default
actions for non routing tasks
</title>
<documentation>
Two fields are required:
<ul>
<li>A field to map the task</li>
<li>A field to map the task id</li>
</ul>
</documentation>
<sinceVersion>5.8</sinceVersion>
<categories>
<category>routing</category>
</categories>
<supportedModes>
<mode>view</mode>
</supportedModes>
<fields>
<list>false</list>
<complex>false</complex>
<supportedTypes>
<type>string</type>
</supportedTypes>
</fields>
</configuration>
<handler-class>
org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
</handler-class>
<property name="template">
/widgets/task/task_layout_with_actions_widget.xhtml
</property>
</widgetType>
</extension>
<extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
point="widgets">
<widget name="current_route_description" type="current_route_description" />
<widget name="current_route_show_graph" type="current_route_show_graph">
<fields>
<field>#{layoutValue.document.id}
</field>
</fields>
<handlingLabels>true</handlingLabels>
</widget>
<widget name="current_route_abandon" type="current_route_abandon">
<controls mode="any">
<control name="requireSurroundingForm">true</control>
</controls>
</widget>
<widget name="current_route_user_tasks" type="current_route_user_tasks">
<labels>
<label mode="any"></label>
</labels>
<properties widgetMode="any">
<property name="displayTaskAdditionalActions">true</property>
</properties>
<controls mode="any">
<control name="handleLabels">true</control>
<control name="requireSurroundingForm">false</control>
</controls>
</widget>
<widget name="current_route_open_tasks" type="current_route_open_tasks">
<labels>
<label mode="any"></label>
</labels>
<controls mode="any">
<control name="handleLabels">true</control>
<control name="requireSurroundingForm">true</control>
</controls>
</widget>
<widget name="current_route_previous_tasks" type="contentViewWithForms">
<labels>
<label mode="any"></label>
</labels>
<translated>false</translated>
<properties widgetMode="any">
<property name="contentViewName">route_past_steps</property>
</properties>
</widget>
<widget name="current_route_panel_top" type="documentActions">
<labels>
<label mode="any"></label>
</labels>
<properties widgetMode="any">
<property name="category">CURRENT_ROUTE_PANEL_TOP</property>
<property name="styleClass">summaryActions</property>
<property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
</properties>
<controls mode="any">
<control name="handleLabels">true</control>
</controls>
</widget>
<widget name="current_route_panel_left" type="container">
<properties widgetMode="any">
<property name="hideSubLabels">true</property>
<property name="display">block_top</property>
<property name="ajaxPanelId">currentRoutePanelLeft</property>
</properties>
<subWidgetRefs>
<widget>current_route_tasks</widget>
</subWidgetRefs>
</widget>
<widget name="current_route_tasks" type="documentActions">
<labels>
<label mode="any"></label>
</labels>
<properties widgetMode="any">
<property name="category">CURRENT_ROUTE_PANEL_LEFT</property>
<property name="styleClass">summaryActions</property>
<property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
</properties>
<controls mode="any">
<control name="handleLabels">true</control>
</controls>
</widget>
<widget name="current_route_panel_right" type="documentActions">
<labels>
<label mode="any"></label>
</labels>
<properties widgetMode="any">
<property name="category">CURRENT_ROUTE_PANEL_RIGHT</property>
<property name="styleClass">summaryActions</property>
<property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
</properties>
<controls mode="any">
<control name="handleLabels">true</control>
</controls>
</widget>
<widget name="current_route_panel_bottom" type="documentActions">
<labels>
<label mode="any"></label>
</labels>
<properties widgetMode="any">
<property name="category">CURRENT_ROUTE_PANEL_BOTTOM</property>
<property name="styleClass">summaryActions</property>
<property name="actionContextDocument">#{layout.properties.currentDocumentForRoute}</property>
</properties>
<controls mode="any">
<control name="handleLabels">true</control>
</controls>
</widget>
<!-- for previous tasks layout -->
<widget name="task_title" type="text">
<labels>
<label mode="any">label.workflow.task.Name</label>
</labels>
<translated>true</translated>
<fields>
<field>data.task.name</field>
</fields>
<properties mode="any">
<property name="localize">true</property>
</properties>
</widget>
<widget name="task_directive" type="text">
<labels>
<label mode="any">label.workflow.task.directive</label>
</labels>
<translated>true</translated>
<fields>
<field>data.task.directive</field>
</fields>
<properties mode="any">
<property name="localize">true</property>
</properties>
</widget>
<widget name="task_assignee" type="multiplePrefixedUsersSuggestion">
<labels>
<label mode="any">label.document.route.content.header.actors
</label>
</labels>
<translated>true</translated>
<fields>
<field>data.task.actors</field>
</fields>
</widget>
<widget name="task_comments" type="list">
<labels>
<label mode="any">label.content.header.comments</label>
</labels>
<translated>true</translated>
<fields>
<field>data.task.taskComments</field>
</fields>
<properties mode="any">
<property name="localize">true</property>
<property name="hideSubLabels">true</property>
</properties>
<subWidgets>
<widget name="comment" type="text">
<fields>
<field>text</field>
</fields>
</widget>
</subWidgets>
</widget>
<widget name="task_start_date" type="datetime">
<labels>
<label mode="any">label.workflow.task.startdate</label>
</labels>
<translated>true</translated>
<fields>
<field>data.dublincore.created</field>
</fields>
</widget>
<widget name="task_due_date" type="datetime">
<labels>
<label mode="any">label.workflow.task.duedate</label>
</labels>
<translated>true</translated>
<fields>
<field>data.task.dueDate</field>
</fields>
</widget>
<!-- for "task_layout" @since 5.8, apply to an object Task -->
<widget name="task_workflow_title" type="task_workflow_title">
<labels>
<label mode="any">label.route.task.workflowStep</label>
</labels>
<translated>true</translated>
<fields>
<field></field>
<field>name</field>
</fields>
</widget>
<widget name="task_workflow_name" type="task_workflow_name">
<labels>
<label mode="any">label.route.task.workflowStep</label>
</labels>
<translated>true</translated>
<fields>
<field></field>
<field>name</field>
</fields>
</widget>
<widget name="task_show_workflow_graph" type="current_route_show_graph">
<labels>
<label mode="any"></label>
</labels>
<fields>
<field>processId</field>
</fields>
</widget>
<widget name="task_actors" type="multiplePrefixedUsersSuggestion">
<labels>
<label mode="any">label.document.route.content.header.actors
</label>
</labels>
<translated>true</translated>
<fields>
<field>actors</field>
</fields>
</widget>
<widget name="task_duedate" type="datetime">
<labels>
<label mode="any">label.workflow.task.duedate</label>
</labels>
<translated>true</translated>
<fields>
<field>dueDate</field>
</fields>
</widget>
<widget name="task_simple_directive" type="text">
<labels>
<label mode="any">label.workflow.task.directive</label>
</labels>
<translated>true</translated>
<fields>
<field>directive</field>
</fields>
<properties mode="any">
<property name="localize">true</property>
</properties>
</widget>
<widget name="task_delegated_users" type="multiplePrefixedUsersSuggestion">
<labels>
<label mode="any">label.route.task.delegated.to</label>
</labels>
<translated>true</translated>
<fields>
<field>delegatedActors</field>
</fields>
</widget>
<widget name="task_layout_with_actions" type="task_layout_with_actions">
<labels>
<label mode="any"></label>
</labels>
<fields>
<field></field>
<field>id</field>
</fields>
</widget>
<widget name="reassign_task_widget" type="action">
<properties widgetMode="any">
<property name="action">#{webActions.getActionForDocument("reassignTask",null,
false)}
</property>
<property name="styleClass">floatL</property>
<property name="actionStyleClass">button</property>
<property name="actionsDisplay">buttons</property>
<property name="addForm">true</property>
<property name="useAjaxForm">true</property>
<property name="ignoreTemplateProperty">true</property>
</properties>
<widgetModes>
<mode value="any">#{layoutValue.isCanBeReassigned()?'edit':'hidden'}
</mode>
</widgetModes>
</widget>
<widget name="delegate_task_widget" type="action">
<properties widgetMode="any">
<property name="action">#{webActions.getActionForDocument("delegateTask",null,
false)}
</property>
<property name="styleClass">floatL</property>
<property name="actionStyleClass">button</property>
<property name="actionsDisplay">buttons</property>
<property name="addForm">true</property>
<property name="useAjaxForm">true</property>
<property name="ignoreTemplateProperty">true</property>
</properties>
</widget>
</extension>
<extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
point="layouts">
<layout name="current_route_layout">
<templates>
<template mode="any">
/layouts/layout_grid_template.xhtml
</template>
</templates>
<rows>
<row>
<properties mode="any">
<property name="nxl_gridStyleClass_0">gridStyle12</property>
<property name="nxl_gridStyleClass_1">gridStyle7</property>
<property name="nxl_gridStyleClass_2">gridStyle5</property>
<property name="nxl_gridStyleClass_0">gridStyle12</property>
</properties>
<widget>current_route_panel_top</widget>
<widget>current_route_panel_left</widget>
<widget>current_route_panel_right</widget>
<widget>current_route_panel_bottom</widget>
</row>
</rows>
</layout>
<!-- Route tasks content view layout -->
<layout name="route_content_view_layout">
<templates>
<template mode="any">
/layouts/layout_listing_ajax_template.xhtml
</template>
</templates>
<properties mode="any">
<property name="showListingHeader">true</property>
<property name="showRowEvenOddClass">true</property>
</properties>
<columns>
<column>
<properties mode="any">
<property name="useFirstWidgetLabelAsColumnHeader">true</property>
</properties>
<widget>task_title</widget>
</column>
<column>
<properties mode="any">
<property name="useFirstWidgetLabelAsColumnHeader">true</property>
</properties>
<widget>task_assignee</widget>
</column>
<column>
<properties mode="any">
<property name="useFirstWidgetLabelAsColumnHeader">true</property>
</properties>
<widget>task_directive</widget>
</column>
<column>
<properties mode="any">
<property name="useFirstWidgetLabelAsColumnHeader">true</property>
</properties>
<widget>task_comments</widget>
</column>
<column>
<properties mode="any">
<property name="useFirstWidgetLabelAsColumnHeader">true</property>
</properties>
<widget>task_start_date</widget>
</column>
<column>
<properties mode="any">
<property name="useFirstWidgetLabelAsColumnHeader">true</property>
</properties>
<widget>task_due_date</widget>
</column>
</columns>
</layout>
<!-- Past routes layout -->
<layout name="previousRoutesLayout">
<templates>
<template mode="any">/layouts/layout_default_template.xhtml
</template>
</templates>
<rows>
<row>
<widget>previousRoutesContentView</widget>
</row>
</rows>
<widget name="previousRoutesContentView" type="contentViewWithForms">
<labels>
<label mode="any"></label>
</labels>
<translated>false</translated>
<properties widgetMode="any">
<property name="contentViewName">previous_routes</property>
<property name="foldable">false</property>
</properties>
</widget>
</layout>
<layout name="graphViewLayout">
<templates>
<template mode="any">/layouts/layout_default_template.xhtml
</template>
</templates>
<rows>
<row>
<widget>current_route_show_graph</widget>
</row>
</rows>
</layout>
<layout name="task_additional_actions_layout">
<templates>
<template mode="any">
/layouts/layout_div_template.xhtml
</template>
</templates>
<rows>
<row>
<widget>reassign_task_widget</widget>
<widget>delegate_task_widget</widget>
</row>
</rows>
</layout>
<layout name="task_layout">
<templates>
<template mode="any">
/layouts/layout_default_template.xhtml
</template>
</templates>
<rows>
<row>
<widget>task_workflow_name</widget>
</row>
<row>
<widget>task_actors</widget>
</row>
<row>
<widget>task_delegated_users</widget>
</row>
<row>
<widget>task_duedate</widget>
</row>
<row>
<widget>task_simple_directive</widget>
</row>
<row>
<widget>container_for_task_layout_with_actions</widget>
</row>
</rows>
<widget name="container_for_task_layout_with_actions" type="container">
<labels>
<label mode="any"></label>
</labels>
<controls mode="any">
<control name="handleLabels">true</control>
</controls>
<properties mode="any">
<property name="hideSubLabels">true</property>
</properties>
<subWidgetRefs>
<widget>task_layout_with_actions</widget>
</subWidgetRefs>
</widget>
</layout>
<layout name="workflowTaskReassignmentLayout">
<!--applies to a TaskInfo -->
<templates>
<template mode="any">/layouts/layout_default_template.xhtml
</template>
</templates>
<rows>
<row>
<widget>task_reassignment_actors</widget>
</row>
<row>
<widget>task_reassignment_comment</widget>
</row>
</rows>
<widget name="task_reassignment_actors" type="multipleUsersSuggestion">
<labels>
<label mode="any">label.workflow.task.actors</label>
</labels>
<translated>true</translated>
<fields>
<field>actors</field>
</fields>
<properties mode="any">
<property name="required">true</property>
<property name="prefixed">true</property>
</properties>
</widget>
<widget name="task_reassignment_comment" type="textarea">
<labels>
<label mode="any">label.workflow.task.comment</label>
</labels>
<translated>true</translated>
<fields>
<field>comment</field>
</fields>
</widget>
</layout>
<layout name="userOpenTasksLayout">
<templates>
<template mode="any">
/layouts/layout_div_template.xhtml
</template>
</templates>
<rows>
<row>
<widget>current_user_open_tasks</widget>
</row>
</rows>
<widget name="current_user_open_tasks" type="contentViewWithForms">
<labels>
<label mode="any"></label>
</labels>
<translated>false</translated>
<controls mode="any">
<control name="handleLabels">true</control>
</controls>
<properties widgetMode="any">
<property name="contentViewName">user_open_tasks</property>
</properties>
</widget>
</layout>
</extension>
<extension target="org.nuxeo.ecm.platform.actions.ActionService"
point="actions">
<action id="current_route_user_tasks" type="widget" order="100">
<category>CURRENT_ROUTE_PANEL_LEFT</category>
<properties>
<property name="widgetName">current_route_user_tasks</property>
</properties>
</action>
<action id="current_route_open_tasks" type="widget" order="200">
<category>CURRENT_ROUTE_PANEL_LEFT</category>
<properties>
<property name="widgetName">current_route_open_tasks</property>
</properties>
</action>
<action id="current_route_previous_tasks" type="widget" order="300">
<category>CURRENT_ROUTE_PANEL_LEFT</category>
<properties>
<property name="widgetName">current_route_previous_tasks</property>
</properties>
</action>
<action id="current_route_description" type="widget" order="100">
<category>CURRENT_ROUTE_PANEL_RIGHT</category>
<properties>
<property name="widgetName">current_route_description</property>
</properties>
</action>
<action id="current_route_show_graph" type="widget" order="200">
<category>CURRENT_ROUTE_PANEL_RIGHT</category>
<properties>
<property name="widgetName">current_route_show_graph</property>
</properties>
</action>
<action id="current_route_abandon" type="widget" order="300">
<category>CURRENT_ROUTE_PANEL_RIGHT</category>
<properties>
<property name="widgetName">current_route_abandon</property>
</properties>
<filter-id>currentUserIsWorkflowInitatior</filter-id>
</action>
</extension>
</component>